cs_panel.py: Error handling for panels on unavailable monitors #12399
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If a panel definition exists for an inactive monitor, launching the panels settings menu will fail.
In
id_or_monitor_position_used
we check if a position is used by going through monitor_layout[monitor_id]. This can result in an index out of range error if the length of monitor_layout is not greater than monitor_id. See #12378 and #12397.To reproduce:
This implementation does not remove the panel definition and it will still be available when the monitor is re-attached.